/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.persistencia.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author root
 */
@Entity
@Table(name = "detallepedido")
@NamedQueries({
    @NamedQuery(name = "Detallepedido.findAll", query = "SELECT d FROM Detallepedido d"),
    @NamedQuery(name = "Detallepedido.findByCoddetalle", query = "SELECT d FROM Detallepedido d WHERE d.coddetalle = :coddetalle"),
    @NamedQuery(name = "Detallepedido.findByTotalparesdetalle", query = "SELECT d FROM Detallepedido d WHERE d.totalparesdetalle = :totalparesdetalle"),
    @NamedQuery(name = "Detallepedido.findByPreciototaldetalle", query = "SELECT d FROM Detallepedido d WHERE d.preciototaldetalle = :preciototaldetalle"),
    @NamedQuery(name = "Detallepedido.findByDetallepedidofinalizado", query = "SELECT d FROM Detallepedido d WHERE d.detallepedidofinalizado = :detallepedidofinalizado"),
    @NamedQuery(name = "Detallepedido.findByDigitador", query = "SELECT d FROM Detallepedido d WHERE d.digitador = :digitador"),
    @NamedQuery(name = "Detallepedido.findByFechadigitador", query = "SELECT d FROM Detallepedido d WHERE d.fechadigitador = :fechadigitador")})
public class Detallepedido implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "coddetalle")
    private String coddetalle;
    @Basic(optional = false)
    @NotNull
    @Column(name = "totalparesdetalle")
    private int totalparesdetalle;
    @Basic(optional = false)
    @NotNull
    @Column(name = "preciototaldetalle")
    private double preciototaldetalle;
    @Basic(optional = false)
    @NotNull
    @Column(name = "detallepedidofinalizado")
    private boolean detallepedidofinalizado;
    @Basic(optional = false)
    @NotNull
    @Column(name = "digitador")
    private int digitador;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fechadigitador")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechadigitador;
    @JoinColumn(name = "tallatacosuela_fk", referencedColumnName = "codtallatacosuela")
    @ManyToOne(optional = false)
    private Tallatacosuela tallatacosuelaFk;
    @JoinColumn(name = "pedido_fk", referencedColumnName = "numeroordencompra")
    @ManyToOne(optional = false)
    private Pedido pedidoFk;
    @JoinColumn(name = "modelocalzado_fk", referencedColumnName = "codestructuramateria")
    @ManyToOne(optional = false)
    private Modelocalzado modelocalzadoFk;
    @JoinColumn(name = "forro_fk", referencedColumnName = "codmateriaprima")
    @ManyToOne(optional = false)
    private Forro forroFk;
    @JoinColumn(name = "cuero_fk", referencedColumnName = "codmateriaprima")
    @ManyToOne(optional = false)
    private Cuero cueroFk;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "detallepedidoFk")
    private List<Planmaestroproduccion> planmaestroproduccionList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "detallepedidoFk")
    private List<Detalletalla> detalletallaList;

    public Detallepedido() {
    }

    public Detallepedido(String coddetalle) {
        this.coddetalle = coddetalle;
    }

    public Detallepedido(String coddetalle, int totalparesdetalle, double preciototaldetalle, boolean detallepedidofinalizado, int digitador, Date fechadigitador) {
        this.coddetalle = coddetalle;
        this.totalparesdetalle = totalparesdetalle;
        this.preciototaldetalle = preciototaldetalle;
        this.detallepedidofinalizado = detallepedidofinalizado;
        this.digitador = digitador;
        this.fechadigitador = fechadigitador;
    }

    public String getCoddetalle() {
        return coddetalle;
    }

    public void setCoddetalle(String coddetalle) {
        this.coddetalle = coddetalle;
    }

    public int getTotalparesdetalle() {
        return totalparesdetalle;
    }

    public void setTotalparesdetalle(int totalparesdetalle) {
        this.totalparesdetalle = totalparesdetalle;
    }

    public double getPreciototaldetalle() {
        return preciototaldetalle;
    }

    public void setPreciototaldetalle(double preciototaldetalle) {
        this.preciototaldetalle = preciototaldetalle;
    }

    public boolean getDetallepedidofinalizado() {
        return detallepedidofinalizado;
    }

    public void setDetallepedidofinalizado(boolean detallepedidofinalizado) {
        this.detallepedidofinalizado = detallepedidofinalizado;
    }

    public int getDigitador() {
        return digitador;
    }

    public void setDigitador(int digitador) {
        this.digitador = digitador;
    }

    public Date getFechadigitador() {
        return fechadigitador;
    }

    public void setFechadigitador(Date fechadigitador) {
        this.fechadigitador = fechadigitador;
    }

    public Tallatacosuela getTallatacosuelaFk() {
        return tallatacosuelaFk;
    }

    public void setTallatacosuelaFk(Tallatacosuela tallatacosuelaFk) {
        this.tallatacosuelaFk = tallatacosuelaFk;
    }

    public Pedido getPedidoFk() {
        return pedidoFk;
    }

    public void setPedidoFk(Pedido pedidoFk) {
        this.pedidoFk = pedidoFk;
    }

    public Modelocalzado getModelocalzadoFk() {
        return modelocalzadoFk;
    }

    public void setModelocalzadoFk(Modelocalzado modelocalzadoFk) {
        this.modelocalzadoFk = modelocalzadoFk;
    }

    public Forro getForroFk() {
        return forroFk;
    }

    public void setForroFk(Forro forroFk) {
        this.forroFk = forroFk;
    }

    public Cuero getCueroFk() {
        return cueroFk;
    }

    public void setCueroFk(Cuero cueroFk) {
        this.cueroFk = cueroFk;
    }

    public List<Planmaestroproduccion> getPlanmaestroproduccionList() {
        return planmaestroproduccionList;
    }

    public void setPlanmaestroproduccionList(List<Planmaestroproduccion> planmaestroproduccionList) {
        this.planmaestroproduccionList = planmaestroproduccionList;
    }

    public List<Detalletalla> getDetalletallaList() {
        return detalletallaList;
    }

    public void setDetalletallaList(List<Detalletalla> detalletallaList) {
        this.detalletallaList = detalletallaList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (coddetalle != null ? coddetalle.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Detallepedido)) {
            return false;
        }
        Detallepedido other = (Detallepedido) object;
        if ((this.coddetalle == null && other.coddetalle != null) || (this.coddetalle != null && !this.coddetalle.equals(other.coddetalle))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "mrp.persistencia.entity.Detallepedido[ coddetalle=" + coddetalle + " ]";
    }
    
}
